package com.example.designpatterns.builder;

/**
 * 指挥者类
 * 负责调用建造者构建产品
 */
public class Director {
    /**
     * 构建完整产品
     * @param builder 建造者
     * @return 构建的产品
     */
    public Product construct(Builder builder) {
        builder.buildPartA();
        builder.buildPartB();
        builder.buildPartC();
        return builder.getResult();
    }
    
    /**
     * 构建简化产品
     * @param builder 建造者
     * @return 构建的产品
     */
    public Product constructSimple(Builder builder) {
        builder.buildPartA();
        builder.buildPartC();
        return builder.getResult();
    }
} 